﻿using System;
using System.Text;
using Autodesk.Revit.DB;

namespace YJKStairs.AddSigns
{
	internal static class StaticRescours
	{
		internal static double ZLevelTolerance
		{
			get
			{
				return StaticRescours.zLevelTolerance;
			}
		}

		internal static string[] TempFamilyNames
		{
			get
			{
				return StaticRescours.tempFamilyNames;
			}
		}

		internal static string Str_MessageNoHighLevel
		{
			get
			{
				return StaticRescours.str_MessageNoHighLevel;
			}
		}

		internal static string Str_Normal
		{
			get
			{
				return StaticRescours.str_Normal;
			}
		}

		internal static string GetADateTime()
		{
			DateTime now = DateTime.Now;
			StringBuilder stringBuilder = new StringBuilder();
			stringBuilder.Append(now.Hour);
			stringBuilder.Append(now.Month);
			stringBuilder.Append(now.Day);
			stringBuilder.Append(now.Hour);
			stringBuilder.Append(now.Minute);
			stringBuilder.Append(now.Second);
			stringBuilder.Append(now.Millisecond);
			return stringBuilder.ToString();
		}

		internal static string[] FamilySymbolNameOfArch
		{
			get
			{
				return StaticRescours.familySymbolNameOfArch;
			}
		}

		internal static double[] DistancofTextToUp_MM
		{
			get
			{
				return StaticRescours.distanceOfTextToUp_MM;
			}
		}

		internal static double[][] DistanceOfArchToUp_MM
		{
			get
			{
				return StaticRescours.distanceOfArchToUp_MM;
			}
		}

		internal static double ArchLength
		{
			get
			{
				return StaticRescours.archLength;
			}
		}

		internal static string Str_ErroParamFind
		{
			get
			{
				return StaticRescours.str_ErrorParamFind;
			}
		}

		internal static string[] StrUpUseInParam
		{
			get
			{
				return StaticRescours.strUpUseInParam;
			}
		}

		internal static string[] StrDownUseInParam
		{
			get
			{
				return StaticRescours.strDownUseInParam;
			}
		}

		internal static string[] ArchCoditionParamNameOfStair
		{
			get
			{
				return StaticRescours.archCodtionParamNameOfStair;
			}
		}

		internal static string[] ArchCodtionAddParamNameOfStair
		{
			get
			{
				return StaticRescours.archCodtionAddParamNameOfStair;
			}
		}

		internal static string[] LengthParamNameOfSign
		{
			get
			{
				return StaticRescours.lengthParamNameOfSign;
			}
		}

		internal static string[] WidthParamNameOfSign
		{
			get
			{
				return StaticRescours.widthParamNameOfSign;
			}
		}

		internal static string StrDefult
		{
			get
			{
				return StaticRescours.strDefult;
			}
		}

		internal static string SignFamilyPath
		{
			get
			{
				return StaticRescours.signFamilyPath;
			}
			set
			{
				StaticRescours.signFamilyPath = value;
			}
		}

		internal static string[] SingFamilyFileName
		{
			get
			{
				return StaticRescours.singFamilyFileName;
			}
		}

		internal static string Str_rfaExtend
		{
			get
			{
				return StaticRescours.str_rfaExtend;
			}
		}

		internal static string OutPutPath
		{
			get
			{
				return StaticRescours.outPutPath;
			}
			set
			{
				StaticRescours.outPutPath = value;
			}
		}

		internal static string TempFamilyName
		{
			get
			{
				return StaticRescours.tempFamilyName;
			}
			set
			{
				StaticRescours.tempFamilyName = value;
			}
		}

		internal static BuiltInCategory[] StairCategories
		{
			get
			{
				return StaticRescours.stairCategories;
			}
		}

		internal static BuiltInCategory LevelCategory
		{
			get
			{
				return StaticRescours.levelCategory;
			}
		}

		internal static string[] FamilyNames
		{
			get
			{
				return StaticRescours.familyNames;
			}
		}

		internal static string[][] ParamNamesStairs
		{
			get
			{
				return StaticRescours.paramNamesStairs;
			}
		}

		internal static string[][] ParamNamesSigns
		{
			get
			{
				return StaticRescours.paramNamesSigns;
			}
		}

		internal static string[][] AddParamNameStairs
		{
			get
			{
				return StaticRescours.addParamNamesStairs;
			}
		}

		internal static string Str_Add
		{
			get
			{
				return StaticRescours.str_Add;
			}
		}

		internal static string[][] ArchDrictionParamNameUp
		{
			get
			{
				return StaticRescours.archDrictionParamNameUp;
			}
		}

		internal static string[][] ArchDrictionParamNameDown
		{
			get
			{
				return StaticRescours.archDrictionParamNameDown;
			}
		}

		private static double zLevelTolerance = 0.1;

		private static string[] tempFamilyNames = new string[]
		{
			"自动扶梯图例",
			"自动人行道图例"
		};

		private static string str_MessageNoHighLevel = "无法创建扶梯图例，请切换至次顶层选择";

		private static string str_Normal = "标准";

		private static string[] familySymbolNameOfArch = new string[]
		{
			"箭头-入口符号",
			"箭头-入口符号"
		};

		private static double[] distanceOfTextToUp_MM = new double[]
		{
			400.0,
			400.0
		};

		private static double[][] distanceOfArchToUp_MM = new double[][]
		{
			new double[]
			{
				800.0,
				2050.0
			},
			new double[]
			{
				800.0,
				2050.0
			}
		};

		private static double archLength = 100.0;

		private static string str_ErrorParamFind = "参数寻找有误";

		private static string[] strUpUseInParam = new string[]
		{
			"上",
			"上"
		};

		private static string[] strDownUseInParam = new string[]
		{
			"下",
			"下"
		};

		private static string[] archCodtionParamNameOfStair = new string[]
		{
			"底部注释文字",
			"底部注释文字"
		};

		private static string[] archCodtionAddParamNameOfStair = new string[]
		{
			"顶部注释文字",
			"顶部注释文字"
		};

		private static string[] lengthParamNameOfSign = new string[]
		{
			"水平跨度",
			"水平跨度"
		};

		private static string[] widthParamNameOfSign = new string[]
		{
			"扶梯宽度",
			"扶梯宽度"
		};

		private static string strDefult = "(默认)";

		private static string signFamilyPath = "F:\\BIMSPACE\\AddSigns\\";

		private static string[] singFamilyFileName = new string[]
		{
			"自动扶梯图例.rfa",
			"自动人行道图例.rfa"
		};

		private static string str_rfaExtend = ".rfa";

		private static string outPutPath = "F:\\BIMSPACE\\AddSigns\\";

		private static string tempFamilyName = "tempStairSign";

		private static BuiltInCategory[] stairCategories = new BuiltInCategory[]
		{
			(BuiltInCategory)(-2001350),
			(BuiltInCategory)(-2001350)
		};

        private static BuiltInCategory levelCategory = (BuiltInCategory)(-2000240);

		private static string[] familyNames = new string[]
		{
			"自动扶梯",
			"自动人行道"
		};

		private static string[][] paramNamesStairs = new string[][]
		{
			new string[]
			{
				"提升高度",
				"倾斜角度",
				"梯级宽度",
				"梯级深度",
				"踏板进深",
				"起步进深",
				"前沿进深",
				"扶手之间宽度",
				"地坑最小宽度"
			},
			new string[]
			{
				"踏板进深",
				"起步进深",
				"裙板内侧宽度",
				"提升高度",
				"箭头宽度",
				"盖板宽度",
				"扶手之间宽度",
				"地坑最小宽度",
				"前沿进深",
				"倾斜角度"
			}
		};

		private static string[][] paramNamesSigns = new string[][]
		{
			new string[]
			{
				"提升高度",
				"倾斜角度",
				"裙板之间宽度",
				"梯级深度",
				"踏板进深",
				"起步进深",
				"前沿进深",
				"扶手之间宽度",
				"扶梯宽度",
				"裙板宽度"
			},
			new string[]
			{
				"踏板进深",
				"起步进深",
				"裙板之间宽度",
				"提升高度",
				"箭头宽度",
				"扶手宽度",
				"扶手之间宽度",
				"扶梯宽度",
				"前沿进深",
				"倾斜角度",
				"裙板宽度"
			}
		};

		private static string[][] addParamNamesStairs = new string[][]
		{
			new string[]
			{
				"裙板外侧宽度",
				"裙板内侧宽度"
			},
			new string[]
			{
				"裙板外侧宽度",
				"裙板内侧宽度"
			}
		};

		private static string str_Add = "附加";

		private static string[][] archDrictionParamNameUp = new string[][]
		{
			new string[]
			{
				"首层箭头上",
				"中层箭头下上"
			},
			new string[]
			{
				"首层箭头上",
				"中层箭头下上"
			}
		};

		private static string[][] archDrictionParamNameDown = new string[][]
		{
			new string[]
			{
				"首层箭头下",
				"中层箭头下下"
			},
			new string[]
			{
				"首层箭头下",
				"中层箭头下下"
			}
		};
	}
}
